package com.zjyd.douyangcommoncore.annotation;

import java.lang.annotation.*;

/**
 * 用于标注实体类，控制代码生成相关配置
 */
@Target(ElementType.TYPE)  // 限定注解只能用于类上
@Retention(RetentionPolicy.RUNTIME)  // 注解在运行时可见，便于代码生成器解析
@Documented  // 生成文档时包含该注解信息
public @interface DouYangAutoTable {

    /**
     * 表名属性
     * @return 对应的数据库表名
     */
    String tableName();

    /**
     * 控制是否生成对应的dao层
     * @return true表示生成dao层，false表示不生成，默认值为true
     */
    boolean generateDao() default true;

    /**
     * 控制是否生成对应的service层
     * @return true表示生成service层，false表示不生成，默认值为true
     */
    boolean generateService() default false;
}
